-
Notifications
You must be signed in to change notification settings - Fork 367
Prepare GenericSystem for other interface data types #2571
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #2571 +/- ##
==========================================
+ Coverage 89.40% 89.46% +0.06%
==========================================
Files 151 151
Lines 17024 17047 +23
Branches 1420 1410 -10
==========================================
+ Hits 15220 15251 +31
+ Misses 1250 1241 -9
- Partials 554 555 +1
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
This reverts commit afc5c26.
eda82f4
to
e9f4b6b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Just few minor nitpicks
Co-authored-by: Sai Kishor Kothakota <[email protected]>
Co-authored-by: Sai Kishor Kothakota <[email protected]>
Co-authored-by: Sai Kishor Kothakota <[email protected]>
Co-authored-by: Sai Kishor Kothakota <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks spot on!
Thank you for taking care of the other changes :)
I rewrote the GenericSystem to let the resource_manager handle the value storage. This enables now the support of other data_types than double.
The system now uses the initial values which are automatically set from the URDF. This triggers some behavior change if, e.g., for velocities, no initial values are set and the handles are initialized with NaN. But dynamics calculation afterwards is fixed in this case.
Other minimal behavior changes:
position_state_following_offset
to initial_values in on_activate (has only effect if an initial_value is given)The current version iterates over the member variables of the HardwareComponentInterface instead of preallocating the values beforehand. I benchmarked the execution time with a config of 230 interfaces, and it increased from 2us to only 5us. I think this is negligible.